home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility1 / gs261src.zip / DEVICES.DOC < prev    next >
Text File  |  1993-05-20  |  14KB  |  361 lines

  1.    Copyright (C) 1992, 1993 Aladdin Enterprises.  All rights reserved.
  2.  
  3. This file is part of Ghostscript.
  4.  
  5. Ghostscript is distributed in the hope that it will be useful, but
  6. WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  7. to anyone for the consequences of using it or for whether it serves any
  8. particular purpose or works at all, unless he says so in writing.  Refer
  9. to the Ghostscript General Public License for full details.
  10.  
  11. Everyone is granted permission to copy, modify and redistribute
  12. Ghostscript, but only under the conditions described in the Ghostscript
  13. General Public License.  A copy of this license is supposed to have been
  14. given to you along with Ghostscript so you can know your rights and
  15. responsibilities.  It should be in a file named COPYING.  Among other
  16. things, the copyright notice and this notice must be preserved on all
  17. copies.
  18.  
  19. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  20.  
  21. This file, devices.doc, gives more detailed documentation about
  22. certain specific devices for which Ghostscript can produce output.
  23.  
  24. For an overview of Ghostscript and a list of the documentation files, see
  25. README.
  26.  
  27. Devices for which this file currently contains documentation:
  28.     SPARCprinter
  29.     HP DeskJet 500C & 550C
  30.     HP PaintJet, XL, and XL300
  31.     DEC LJ250
  32.     Apple Dot Matrix Printer (and Imagewriter)
  33.  
  34. ### ------------------------- The SPARCprinter ------------------------- ###
  35.  
  36. This section was written by Martin Schulte.
  37.  
  38. Introduction
  39. ------------
  40.  
  41. The SPARCprinter is is connected to SPARCStation via a special SBUS card's
  42. video inferface, the picture is composed on the host and only a bitmap is
  43. send to the printer unit.
  44.  
  45. Together with a SPARCprinter, you always buy (as far as I know) software
  46. that enables you to do postscript-printing on your SPARCPrinter.
  47.  
  48. So, the need for a Ghostscript-Interface to the SPARCPrinter seems low,
  49. but on the other hand some Postscript drawings are not correctly printed
  50. with SUN's software: on some pages occured a thin vertical line of rubbish
  51. (reproducable), on some Mathematica drawings the text at the axes wasn't
  52. rotated.
  53.  
  54. I tried all of these with Ghostscript and always got the expected results.
  55.  
  56. However, replacing proprietary software should never be a bad idea.
  57.  
  58. The problem is that there has yet been no effort to make the SPARCPrinter-
  59. driver behave like a BSD output-filter, I made my tests using the script
  60. mentioned under Installation.
  61.  
  62. Installation
  63. ------------
  64.  
  65. Add sparc.dev to DEVICE_DEVS and compile ghostscript as described in
  66. make.doc.
  67.  
  68. Afterwards, you can use the following script (the way of handling standard
  69. input versus filename-arguments doesn't look very clever, has anyone a
  70. better idea ?) to print if you substitute <GSPATH> by the place where you
  71. installed the ghostscript binary:
  72.  
  73. outcmd1='/vol/local/lib/troff2/psxlate -r'
  74. outcmd2='<GSPATH> -I/home/schulte/gs252 -sDEVICE=sparc -sOUTPUTFILE=/dev/lpvi0 -'
  75.  
  76. if [ $# -eq 0 ]
  77. then
  78.   $outcmd1 | $outcmd2
  79. else
  80.   cat $* | $outcmd1 | $outcmd2
  81. fi
  82.  
  83. Problems
  84. --------
  85.  
  86. Since /dev/lpvi can only be opened for exclusive use, another job having
  87. opened it (engine_ctl_sparc or another ghostscript as the most probable
  88. canidates) will cause to stop ghostscript with "Error: /invalidfileaccess
  89. in --.outputpage--"
  90.  
  91. In case of common printer problems like out of paper, a warning describing
  92. the reason will be printed to stdout, the driver will try to access again
  93. and again each five seconds.
  94.  
  95. Due to a problem with the device-driver (in the kernel) the reason of
  96. printer failure is not always correctly reported to program.  This is the
  97. case at least if you open the top cover (Error in the display: E5).  Look
  98. to the display at the printer if a "Printer problem with unknown reason"
  99. is reported.
  100.  
  101. Fatal errors will cause the print-job to be terminated.
  102.  
  103. ### ------------------------------ End --------------------------------- ###
  104.  
  105. ### ------------------- H-P color inkjet printers ---------------------- ###
  106. ###  (DeskJet 500C, DeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300  ###
  107. ###  and the DEC LJ250 which can operate in a Paintjet-compatiblme mode) ###
  108.  
  109. This section was written by George Cameron.
  110.  
  111. Information and tips on usage for the drivers contained in gdevcdj.c
  112. ====================================================================
  113.  
  114. OVERVIEW:
  115.  
  116. There are 6 generic drivers contained in the source module:
  117.  
  118.      1 - cdj500:      HP DeskJet 500C
  119.      2 - cdj550:      HP DeskJet 550C
  120.      3 - pjxl300:     HP PaintJet XL300
  121.      4 - pjtest:      HP PaintJet
  122.      5 - pjxltest:    HP PaintJet XL
  123.      6 - declj250:    DEC LJ250
  124.  
  125.  All of these drivers have 8-bit (monochrome), 16-bit and 24-bit
  126.      (colour) and for the DJ 550C 32-bit, (colour, cmyk mode)
  127.      options in addition to standard colour and mono drivers.
  128.  It is also possible to set various printer-specific parameters
  129.      from the gs command line, eg.
  130.  
  131.   gs -sDEVICE=cdeskjet -sBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps
  132.  
  133. NB/ The old names cdeskjet, cdjcolor and cdjmono drivers have been retained;
  134.     however, their functionality duplicates that available using the above
  135.     drivers (and cdeskjet is identical to cdj500), ie. we can use:
  136.  
  137.     gs -sDEVICE=cdj500 -dBitsPerPixel=24 ...    for cdjcolor, and
  138.     gs -sDEVICE=cdj500 -dBitsPerPixel=1  ...    for cdjmono
  139.  
  140.  
  141. DEFAULT PAPER SIZE:
  142.  
  143.  If the preprocessor symbol A4 is defined, the default paper size is the
  144.  European A4 size; otherwise it is the U.S. letter size (8.5"x11"). Other
  145.  paper sizes (including A3 for the PaintJet XL and PaintJet XL300) may be
  146.  specified on the command line as explained in the Ghostscript documentation.
  147.  
  148.  
  149. DEFAULT BITS-PER-PIXEL:
  150.  
  151.  If the preprocessor symbol BITSPERPIXEL is defined as an integer (see below
  152.  for the range of allowable values), this number will be used to define the
  153.  default bits-per-pixel (ie. bit depth) for the generic drivers. If the
  154.  symbol is not defined, the default is set to 24 bits per pixel. It is
  155.  of course still possible to specify the value from the command line, as
  156.  described below. Note also that the cdeskjet, cdjcolor and cdjmono
  157.  drivers are unaffected by setting this symbol, as their default settings
  158.  are predefined to be 1, 3 and 24 respectively.
  159.  
  160.  
  161. DESKJET PHYSICAL LIMITS:
  162.  
  163.  Maximum printing width = 2400 dots = 8". The printer manuals say that the
  164.  maximum recommended printing height on the page is 10.3", but since this
  165.  is obviously not true for A4 paper, and I have been unable to detect any
  166.  problems in printing longer page lengths, this would seem to be a rather
  167.  artificial restriction.
  168.  
  169.  All Deskjets have 1/2" unprintable bottom margin, due to the mechanical
  170.  arrangement used to grab the paper. Side margins are approximately 0.25"
  171.  for US Letter paper, and 0.15" for A4.
  172.  
  173.  
  174. COMMAND LINE PARAMETERS:
  175.  
  176.  Several printer 'properties' have been implemented for these printers.
  177.  Those available so far are all integer quantities, and thus may be
  178.  specified as eg.
  179.  
  180.     gs -dBitsPerPixel=32 -dShingling-1 ... 
  181.  
  182.  which sets the BitsPerPixel parameter to 32 and the Shingling parameter
  183.  to 1.
  184.  
  185.  
  186. BITS-PER-PIXEL:
  187.  
  188.  All of the drivers in gdevcdj.c accept a command line option to set the
  189.  BitsPerPixel property. This gives considerable flexibility in choosing
  190.  various trade-offs between speed/quality/colour etc. The valid numbers
  191.  are:
  192.  
  193.     1:    This is a standard Ghostscript monochrome driver, and uses
  194.         black ink (by installing the separate mono cartridge in
  195.         the case of the DeskJet 500C, or automatically for the
  196.         other printers)
  197.  
  198.     3:    A standard Ghostscript colour driver, using internal
  199.         dithering. This is fast to compute and to print, but
  200.         the clustered dithering can lose some detail and
  201.         colour fidelity.
  202.  
  203.     8:    An 'error-diffusion' monochrome driver which uses
  204.         Floyd-Steinberg dithering to print greyscale images.
  205.         The patterns are much more randomised than with the
  206.         normal clustered dithering, but the data files can
  207.         be much larger and somewhat slower to print.
  208.  
  209.     16:    This is a 'cheaper' version of the following (24-bit)
  210.         driver, which generates a Floyd-Steinberg colour dithered
  211.         output using the minimum amount of memory (this may be
  212.         helpful when using IBM PC's when Ghostscript has not
  213.         been compiled using a 32-bit 386-style compiler). The
  214.         quality can be almost as good as the 24-bit version.
  215.  
  216.     24:    A high-quality colour driver using Floyd-Steinberg dithering
  217.         for maximum detail and colour range. However it is very
  218.         memory intensive and thus can be slow to compute (and it
  219.         tends to produce rather larger raw data files, so they
  220.         can also be slower to print).
  221.  
  222.     32:    This is for the DeskJet 550C only, which uses the black
  223.         cartridge and the colour cartridge simultaneously (ie.
  224.         CMYK printing). This printer can be both faster and give
  225.         higher quality than the DeskJet 500C, because of the
  226.         true black ink. (Note that the 24-bit mode also permits
  227.         CMYK printing on this printer, and uses less memory. Any
  228.         differences between 24-bit and 32-bit should be very small.)
  229.  
  230.  
  231. DESKJET PROPERTIES:
  232.  
  233.  The addional properties available for the DeskJets are:
  234.  
  235.         BlackCorrect    (int)      /* Colour correction to give
  236.                    * better blacks when using the DJ500C
  237.                    * in colour mode, eg. the default of 4
  238.                    * reduces the cyan component to 4/5 
  239.                    * Range accepted: 0 - 9 (0 = none) */
  240.     Shingling    (int)      /* Interlaced, multi-pass printing 
  241.                                * 0 = none, 1 = 50%, 2 = 25%, 2 is
  242.                    * best & slowest */
  243.     Depletion    (int)      /* 'Intelligent' dot-removal 
  244.                            * 0 = none, 1 = 25%, 2 = 50%, 1 best
  245.                    * for graphics? 
  246.                    * Use 0 for transparencies */
  247.  
  248. PAINTJET XL300/PAINTJET XL PROPERTIES:
  249.  
  250.     PrintQuality    (int)      /* Mechanical print quality
  251.                    * -1 = fast, 0 = normal, 1 = presentation
  252.                    * Fast mode reduces ink usage and uses
  253.                    * single-pass operation for some media
  254.                    * types. Presentation uses more ink and
  255.                    * max number of passes, ie. slowest
  256.                    * printing for highest quality */
  257.     RenderType    (int)      /* 0 = driver does dithering
  258.                    * 1 = snap to primaries
  259.                    * 2 = snap black -> white, others to black
  260.                    * 3 = ordered dither
  261.                    * 4 = error diffusion
  262.                    * 5 = monochrome ordered dither
  263.                    * 6 = monochrome error diffusion
  264.                    * 7 = cluster ordered dither
  265.                    * 8 = monochrome cluster ordered dither
  266.                    * 9 = user-defined dither (not supported)
  267.                    * 10 = monochrome user-defined dither ns. */
  268.  
  269. PAINTJET PROPERTIES:
  270.  
  271.     No additional properties
  272.  
  273.  
  274. GAMMA CORRECTION:
  275.  
  276.  One consequence of using Floyd-Steinberg dithering rather than Ghostscript's
  277.  default clustered ordered dither is that it is much more obvious that the
  278.  ink dots are rather larger on the page than their nominal 1/180" or 1/300"
  279.  size (clustering the dots tends to minimise this effect). Thus it is often
  280.  the case that the printed result is rather too dark. A simple empirical
  281.  correction for this may be achieved by preceding the actual postscript
  282.  file to be printed by a short file which effectively sets the gamma for
  283.  the device, eg.
  284.  
  285.  gs ... gamma.ps colorpic.ps quit.ps
  286.  
  287.  where gamma.ps is
  288.  
  289. %!
  290. {0.333 exp} dup dup currenttransfer setcolortransfer
  291.  
  292.  This example sets the gamma for r, g, and b to 3, which seems to work
  293.  reasonably well in practice.
  294.  
  295.  
  296. GENERAL TIPS:
  297.  
  298.  For all the above printers, the paper is critically important to the 
  299.  final results. Smoother, less fibrous paper is generally better (and
  300.  suggested types are given in the printer manuals). In particular, the
  301.  special ink-jet paper can make a big difference; the colours are 
  302.  brighter, but most importantly, there is almost no colour bleed, even 
  303.  with adjacent areas of very heavy inking. Similarly, the special coated
  304.  transparencies also work well (and ordinary transparencies do not work
  305.  at all!)
  306.  
  307.  The unix-lpr.sh provides one example of setting up a multi-option
  308.  colour postscript lpr queue on Unix systems, and includes the ability
  309.  to choose a range of different colour options and printer accounting
  310.  and error logging.
  311.  
  312.  
  313. CAVEAT EMPTOR!:
  314.  
  315.  It is not always easy for me to test all of these drivers, as the only
  316.  colour printer I have here is the DeskJet 500C. I rely on others testing
  317.  drivers for the additional machines and reporting their findings back to
  318.  me. 
  319.  
  320. ### ------------------------------ End --------------------------------- ###
  321.  
  322. ### ------------------- Apple Dot Matrix Printer  ---------------------- ###
  323.  
  324. This section was written by Mark Wedel.
  325.  
  326.  The Dot Matrix Driver (DMP) driver is a simple driver I wrote.  It
  327. could more more efficient, but it seems to print the images fine.
  328.  
  329.  The Dot Matrix Printer was a parallel predecessor to the Imagewriter
  330. printer.  As far as I know, the Imagewriter commands are a superset
  331. to those of the Dot Matrix printer, so the driver should work fine at
  332. generating output that can be printed on Imagewriters.
  333.  
  334.  A few notes (from the gdevadmp.c file):
  335.  
  336.  * To print out images, it sets the printer for unidirection printing
  337.  * and 15 cpi (120 dpi). IT sets line feed to 1/9 of an inch (72 dpi).
  338.  * When finished, it sets things back to bidirection print, 1/8" line
  339.  * feeds, and 12 cpi.  There does not appear to be a way to reset
  340.  * things to initial values.
  341.  *
  342.  * This code does not set for 8 bit characters (which is required). It
  343.  * also assumes that carriage return/newline is needed, and not just
  344.  * carriage return.  These are all switch settings on the DMP, and
  345.  * I have configured them for 8 bit data and cr only.
  346.  *
  347.  * You can search for the strings Init and Reset (in devdemp.c) to find the
  348.  * strings that set up the printer and clear things when finished, and change
  349.  * them to meet your needs.
  350.  *
  351.  * Also, you need to make sure that the printer daemon (assuming unix)
  352.  * doesn't change the data as it is being printed.  I have set my
  353.  * printcap file (sunos 4.1.1) with the string:
  354.  * ms=pass8,-opost
  355.  * and it works fine.
  356.  
  357.  Mark Wedel
  358. master@cats.ucsc.edu
  359.  
  360. ### ------------------------------ End --------------------------------- ###
  361.